﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="Uplink2.Webservices" elementFormDefault="qualified" targetNamespace="Uplink2.Webservices" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/SharedObjects" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="RegisterAccount">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="login" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="agentName" nillable="true" type="xs:string" />
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="corporationId" type="q1:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RegisterAccountResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="RegisterAccountResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PersistEntity">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q2:guid" />
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="o" nillable="true" type="q3:EntityBase" />
        <xs:element minOccurs="0" name="numRecursiveLevels" type="xs:int" />
        <xs:element minOccurs="0" name="DoInsert" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PersistEntityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="PersistEntityResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ObtainEntity">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q4:guid" />
        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="entityId" type="q5:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ObtainEntityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="ObtainEntityResult" nillable="true" type="q6:EntityBase" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ObtainEntitiesByType">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q7:guid" />
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="entityType" type="q8:Entities" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ObtainEntitiesByTypeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="ObtainEntitiesByTypeResult" nillable="true" type="q9:ArrayOfEntityBase" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteEntity">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q10:guid" />
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="b" nillable="true" type="q11:ArrayOfEntityBase" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteEntityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="DeleteEntityResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableProgramMethods">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q12:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableProgramMethodsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAvailableProgramMethodsResult" nillable="true" type="q13:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableNetworkAddresses">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q14:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAvailableNetworkAddressesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetAvailableNetworkAddressesResult" nillable="true" type="q15:ArrayOfNetworkAddress" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateRandomAddresses">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q16:guid" />
        <xs:element minOccurs="0" name="amount" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GenerateRandomAddressesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GenerateRandomAddressesResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="VerifySession">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionId" type="q17:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="VerifySessionResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="VerifySessionResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Login">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="login" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoginResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="LoginResult" nillable="true" type="q18:ClientConfiguration" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Logout">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionId" type="q19:guid" />
        <xs:element minOccurs="0" name="login" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LogoutResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="LogoutResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFilesInDirectory">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q20="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionId" type="q20:guid" />
        <xs:element xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="directoryId" type="q21:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetFilesInDirectoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetFilesInDirectoryResult" nillable="true" type="q22:ArrayOfSystemFile" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSystemRoot">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q23="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q23:guid" />
        <xs:element xmlns:q24="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="systemId" type="q24:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSystemRootResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetSystemRootResult" nillable="true" type="q25:SystemDirectory" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyTotalMemory">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q26="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionId" type="q26:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyTotalMemoryResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetMyTotalMemoryResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyKnownComputerSystems">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q27="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q27:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyKnownComputerSystemsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetMyKnownComputerSystemsResult" nillable="true" type="q28:ArrayOfComputerSystem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateAndAssignGateway">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q29="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q29:guid" />
        <xs:element xmlns:q30="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="newGateway" nillable="true" type="q30:Gateway" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateAndAssignGatewayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateAndAssignGatewayResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExecuteProgram">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q31="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionID" type="q31:guid" />
        <xs:element xmlns:q32="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="programId" type="q32:guid" />
        <xs:element xmlns:q33="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="parameters" nillable="true" type="q33:ArrayOfanyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExecuteProgramResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ExecuteProgramResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyPrograms">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q34="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="sessionId" type="q34:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetMyProgramsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q35="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetMyProgramsResult" nillable="true" type="q35:ArrayOfProgram" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_ConnectToSystem">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q36="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q36:guid" />
        <xs:element xmlns:q37="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="connectionPathIds" nillable="true" type="q37:ArrayOfguid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_ConnectToSystemResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q38="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="Connect_ConnectToSystemResult" nillable="true" type="q38:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_GetConnectedHostFeatures">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q39="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q39:guid" />
        <xs:element xmlns:q40="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="connectionId" type="q40:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_GetConnectedHostFeaturesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q41="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="Connect_GetConnectedHostFeaturesResult" nillable="true" type="q41:ArrayOfComputerSystemFeature" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_TryAccess">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q42="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q42:guid" />
        <xs:element xmlns:q43="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="connectionId" type="q43:guid" />
        <xs:element xmlns:q44="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="securitySystemId" type="q44:guid" />
        <xs:element xmlns:q45="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="methodParameters" nillable="true" type="q45:ArrayOfanyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_TryAccessResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Connect_TryAccessResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_LoginToSystemAllowed">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q46="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q46:guid" />
        <xs:element xmlns:q47="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="connectionId" type="q47:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_LoginToSystemAllowedResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Connect_LoginToSystemAllowedResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_LoginToSystem">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q48="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q48:guid" />
        <xs:element xmlns:q49="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="connectionId" type="q49:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_LoginToSystemResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Connect_LoginToSystemResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_DisconnectFromSystem">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q50="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q50:guid" />
        <xs:element xmlns:q51="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="connectionId" type="q51:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Connect_DisconnectFromSystemResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="Connect_DisconnectFromSystemResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSystemLogs">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q52="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="agentId" type="q52:guid" />
        <xs:element xmlns:q53="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="systemId" type="q53:guid" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSystemLogsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q54="http://schemas.datacontract.org/2004/07/SharedObjects" minOccurs="0" name="GetSystemLogsResult" nillable="true" type="q54:ArrayOfComputerSystemLog" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>